package com.ly.heart.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ly.heart.domain.OrderEntity;
import com.ly.heart.domain.dto.ContractOrderMaterialDetailDto;
import com.ly.heart.domain.vo.ContractOrderMaterialDetailVo;
import com.ly.heart.domain.vo.select.OrderSelectVo;
import com.ly.heart.domain.vo.select.query.OrderSelectQueryDto;

/**
 * 采购订单/销售订单管理Mapper接口
 * @author cxl
 * @date 2024-05-14
 */
public interface OrderMapper extends BaseMapper<OrderEntity> {

    /**
     * 查询采购订单/销售订单管理
     * @param id 采购订单/销售订单管理主键
     * @return 采购订单/销售订单管理
     */
    public OrderEntity selectOrderEntityById (String id);

    /**
     * 查询采购订单/销售订单管理列表
     * @param orderEntity 采购订单/销售订单管理
     * @return 采购订单/销售订单管理集合
     */
    public List<OrderEntity> selectOrderEntityList (OrderEntity orderEntity);

    /**
     * 新增采购订单/销售订单管理
     * @param orderEntity 采购订单/销售订单管理
     * @return 结果
     */
    public int insertOrderEntity (OrderEntity orderEntity);

    /**
     * 修改采购订单/销售订单管理
     * @param orderEntity 采购订单/销售订单管理
     * @return 结果
     */
    public int updateOrderEntity (OrderEntity orderEntity);

    /**
     * 删除采购订单/销售订单管理
     * @param id 采购订单/销售订单管理主键
     * @return 结果
     */
    public int deleteOrderEntityById (String id);

    /**
     * 批量删除采购订单/销售订单管理
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrderEntityByIds (String[] ids);

    /**
     * 查询总数
     * @return
     */
    Integer queryCount();

    /**
     * 采购订单选单接口
     * @param
     * @return
     */
    List<ContractOrderMaterialDetailVo> queryMaterial (ContractOrderMaterialDetailDto contractOrderMaterialDetailDto);


    Integer queryMaterialCount (ContractOrderMaterialDetailDto contractOrderMaterialDetailDto);

    /**
     * 采购订单选单
     * @param queryDto
     * @return
     */
    List<OrderSelectVo> getOrderSelect(OrderSelectQueryDto queryDto);

    /**
     * 查询总数
     * @param queryDto
     * @return
     */
    Integer queryTotalCount(OrderSelectQueryDto queryDto);
}
